package cn.iocoder.yudao.module.biz.controller.admin.trainingPlan.vo;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 培训计划更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BizTrainingPlanUpdateReqVO extends BizTrainingPlanBaseVO {

    @ApiModelProperty(value = "培训计划表ID", required = true)
    @NotNull(message = "培训计划表ID不能为空")
    private String id;

    @ApiModelProperty(value = "计划名称", required = true)
    @NotNull(message = "计划名称不能为空")
    private String planName;

    @ApiModelProperty(value = "组织部门", required = true)
    @NotNull(message = "组织部门不能为空")
    private String organizationDeptId;

    @ApiModelProperty(value = "开始时间", required = true)
    @NotNull(message = "开始时间不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date beginTime;

    @ApiModelProperty(value = "结束时间", required = true)
    @NotNull(message = "结束时间不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date endTime;

    @ApiModelProperty(value = "培训范围", required = true)
    @NotNull(message = "培训范围不能为空")
    private Integer trainingRange;

    @ApiModelProperty(value = "培训类别", required = true)
    @NotNull(message = "培训类别不能为空")
    private Integer trainingType;

    @ApiModelProperty(value = "培训学时", required = true)
    @NotNull(message = "培训学时不能为空")
    private String trainingPeriod;

    @ApiModelProperty(value = "培训方式", required = true)
    @NotNull(message = "培训方式不能为空")
    private String trainingMethod;

    @ApiModelProperty(value = "培训对象")
    private String trainingObject;

    @ApiModelProperty(value = "计划经费")
    private String money;

    @ApiModelProperty(value = "负责人", required = true)
    @NotNull(message = "负责人不能为空")
    private String managerId;

    @ApiModelProperty(value = "负责人电话", required = true)
    @NotNull(message = "负责人电话不能为空")
    private String mobile;

    @ApiModelProperty(value = "租户编号", required = true)
    private Long tenantId;

    @ApiModelProperty(value = "当前用户所属部门")
    private String deptId;

}
